package com.zx.framework.plat.user.po;

import org.hibernate.validator.constraints.NotBlank;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;


/**
 * User entity. @author MyEclipse Persistence Tools
 */
@Entity
@Table(name="s_user")

public class User  implements java.io.Serializable {


    // Fields    
    @NotBlank(message="ID不能为空！")
     private String id;
    @NotBlank(message="loginID不能为空！")
     private String loginId;
    @NotBlank(message="密码不能为空！")
     private String password;
    @NotBlank(message="用户名不能为空！")
     private String userName;
     private Date createTime;
     private String defProject;
    @NotBlank(message="用户类型不能为空！")
     private String type;
    @NotNull(message="用户状态不能为空！")
     private Integer status;
    @NotNull(message="用户密码有效期始不能为空！")
     private Date passwordStart;
    @NotNull(message="用户密码有效期止不能为空！")
     private Date passwordEnd;
    @NotNull(message="用户密码状态不能为空！")
     private Integer passwordModify;
     private String remark;


    // Constructors

    /** default constructor */
    public User() {
    }

	/** minimal constructor */
    public User(String id, String loginId, String password, String userName, String type, Integer status, Date passwordStart, Date passwordEnd, Integer passwordModify) {
        this.id = id;
        this.loginId = loginId;
        this.password = password;
        this.userName = userName;
        this.type = type;
        this.status = status;
        this.passwordStart = passwordStart;
        this.passwordEnd = passwordEnd;
        this.passwordModify = passwordModify;
    }
    
    /** full constructor */
    public User(String id, String loginId, String password, String userName, Date createTime, String defProject, String type, Integer status, Date passwordStart, Date passwordEnd, Integer passwordModify, String remark) {
        this.id = id;
        this.loginId = loginId;
        this.password = password;
        this.userName = userName;
        this.createTime = createTime;
        this.defProject = defProject;
        this.type = type;
        this.status = status;
        this.passwordStart = passwordStart;
        this.passwordEnd = passwordEnd;
        this.passwordModify = passwordModify;
        this.remark = remark;
    }

   
    // Property accessors
    @Id 
    
    @Column(name="ID", unique=true, nullable=false, length=64)

    public String getId() {
        return this.id;
    }
    
    public void setId(String id) {
        this.id = id;
    }
    
    @Column(name="LOGINID", nullable=false, length=32)

    public String getLoginId() {
        return this.loginId;
    }
    
    public void setLoginId(String loginId) {
        this.loginId = loginId;
    }
    
    @Column(name="PASSWORD", nullable=false, length=64)

    public String getPassword() {
        return this.password;
    }
    
    public void setPassword(String password) {
        this.password = password;
    }
    
    @Column(name="USERNAME", nullable=false, length=50)

    public String getUserName() {
        return this.userName;
    }
    
    public void setUserName(String userName) {
        this.userName = userName;
    }
    
    @Column(name="CREATETIME", length=19)

    public Date getCreateTime() {
        return this.createTime;
    }
    
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    
    @Column(name="DEFPROJECT", length=64)

    public String getDefProject() {
        return this.defProject;
    }
    
    public void setDefProject(String defProject) {
        this.defProject = defProject;
    }
    
    @Column(name="TYPE", nullable=false, length=2)

    public String getType() {
        return this.type;
    }
    
    public void setType(String type) {
        this.type = type;
    }
    
    @Column(name="STATUS", nullable=false, precision=1, scale=0)

    public Integer getStatus() {
        return this.status;
    }
    
    public void setStatus(Integer status) {
        this.status = status;
    }
    
    @Column(name="PASSWORDSTART", nullable=false, length=19)

    public Date getPasswordStart() {
        return this.passwordStart;
    }
    
    public void setPasswordStart(Date passwordStart) {
        this.passwordStart = passwordStart;
    }
    
    @Column(name="PASSWORDEND", nullable=false, length=19)

    public Date getPasswordEnd() {
        return this.passwordEnd;
    }
    
    public void setPasswordEnd(Date passwordEnd) {
        this.passwordEnd = passwordEnd;
    }
    
    @Column(name="PASSWORDMODIFY", nullable=false, precision=1, scale=0)

    public Integer getPasswordModify() {
        return this.passwordModify;
    }
    
    public void setPasswordModify(Integer passwordModify) {
        this.passwordModify = passwordModify;
    }
    
    @Column(name="REMARK", length=100)

    public String getRemark() {
        return this.remark;
    }
    
    public void setRemark(String remark) {
        this.remark = remark;
    }
   








}